package ufpb.engsoft.testesUnidade;
import static org.junit.Assert.*;
import org.junit.Test;
import ufpb.engsoft.excecoes.NaoPodeCadastrarException;
import ufpb.engsoft.dominio.*;

/**
 * Testes da classe GerenciaAlocador
 * @author Ednaldo Onofre de Araujo Filho, ednaldoonofre@gmail.com
 * 
 */

public class GerenciaAlocadorTest {
	
	@Test public void cadastrarTeste() throws NaoPodeCadastrarException{
		
		GerenciaAlocador.cadastrar("Scaico", "alesc", "1234", "1234");
		GerenciaAlocador.cadastrar("Pasqueline", "Pasqueline", "123", "123");
		
		assertEquals(GerenciaAlocador.qtdCadastros(), 2);
		
		GerenciaAlocador.listar();
	}
	
	@Test public void editarTeste() throws NaoPodeCadastrarException{
		
		assertTrue(GerenciaAlocador.editar(1, "Scaico", "alesc", "Wilkerson","CCAE", "123", "123"));		
		assertFalse(GerenciaAlocador.editar(1, "jhk", "alesc", "Wilkerson","CCAE", "123", "123"));
	}
	
	@Test public void buscaAlocadorTeste(){
		Alocador alc = GerenciaAlocador.buscaAlocadorPorNomeLogin(2, "Pasqueline", "Pasqueline");
		Alocador alc2 = GerenciaAlocador.buscaAlocadorPorNomeLogin(3, "abc", "abc");
		assertEquals(alc.getSenha(), "123");
		assertNull(alc2);
	}
	
	@Test public void excluirTest(){
		assertTrue(GerenciaAlocador.excluir(2, "Pasqueline", "Pasqueline"));
		assertEquals(GerenciaAlocador.qtdCadastros(),1);
	}
}